"""
Locust 的比重
注册：20
登录：80
首页：200
搜索商品：150
下单：50
"""
from locust import TaskSet, HttpLocust, task


# 1. 定义任务集和任务 ---- TaskSet、task
class Task(TaskSet):
    # 创建任务 --- 借助 装饰器 @task
    @task(20)
    def register(self):    # 不再是一个普通方法，变为一个任务。
        result = self.client.get("/?name=register")     # 类似于 requests.Session.get()
        print("响应结果为：", result.text)

    @task(80)
    def login(self):    # 不再是一个普通方法，变为一个任务。
        result = self.client.get("/?name=login")        # 类似于 requests.Session.get()
        print("响应结果为：", result.text)

    @task(200)
    def index(self):    # 不再是一个普通方法，变为一个任务。
        result = self.client.get("/?name=index")        # 类似于 requests.Session.get()
        print("响应结果为：", result.text)

    @task(150)
    def search(self):    # 不再是一个普通方法，变为一个任务。
        result = self.client.get("/?name=search")        # 类似于 requests.Session.get()
        print("响应结果为：", result.text)

    @task(50)
    def order(self):    # 不再是一个普通方法，变为一个任务。
        result = self.client.get("/?name=order")        # 类似于 requests.Session.get()
        print("响应结果为：", result.text)
        
# 2. 定义用户行为  ----- HttpLocust
class User(HttpLocust):
    # 绑定任务集
    task_set = Task    # 千万不能加 ()

    # 设定用户与用户间 最小的延时时间, 单位：ms
    min_wait = 1000

    # 设定用户与用户间 最大的延时时间, 单位：ms
    max_wait = 3000

    # 指定主机域名
    host = "https://www.baidu.com"